package cn.edu.scut.hsrc.bean;

/**
 * 候选短语关于段的详细信息
 * @file PhraseSegment.java
 * @author feiyu
 *
 */

public class PhraseSegment {
	private final SeqSegment segment;	//短语所在的段
	private final int start; 			//短语所在段的起始位置
	private final int end;			 	//短语所在段的终止位置
	
	public enum TitleFlag{YES,NO};
	
	/**
	 * 
	 * 构造函数
	 * @param segment	短语所在的段
	 * @param start		短语所在段的起始位置
	 * @param end		短语所在段的终止位置
	 */
	public PhraseSegment(SeqSegment segment,int start,int end) {
		// TODO Auto-generated constructor stub
		this.segment = segment;
		this.start = start;
		this.end = end;
	}

	/**
	 * 返回短语所在的段
	 * @return
	 */
	public SeqSegment getSegment() {
		return this.segment;
	}

	/**
	 * 返回短语所在段的起始位置
	 * @return
	 */
	public int getStart() {
		return this.start;
	}

	/**
	 * 返回短语所在段的终止位置
	 * @return
	 */
	public int getEnd() {
		return this.end;
	}
	
	/**
	 * 返回下标index处的词
	 * @param index
	 * @return
	 */
	public SeqWord getWord(int index) {
		return this.segment.getWord(index);
	}
	
	/**
	 * 判断该段是否包含字符串word
	 * @param word
	 * @return
	 */
	public boolean containWord(String word) {
		return this.segment.containWord(word);
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return this.segment.toString()+"\n";
	}
	
	/**
	 * 返回段包含的词的个数
	 * @return
	 */
	public int length() {
		return this.segment.length();
	}
}

